/**
 * 健身房管理系统后端接口文档
 * 所有接口均为RESTful风格，返回值均为JSON对象
 * 编写时间：2024年
 */


// ------------------- 报名相关 -------------------
/**
 * 报名新增
 * @url    POST /baoming/add
 * @body   { Baoming对象 }
 * @return { code:200, msg: "报名成功" }
 */

/**
 * 查询会员报名信息
 * @url    GET /baoming/index
 * @param  huiyuanid 会员ID (String)
 * @return { code:200, data: Baoming[] }
 */

/**
 * 查询课程报名信息
 * @url    GET /baoming/index1
 * @param  kcid 课程ID (String)
 * @return { code:200, data: Baoming[] }
 */

/**
 * 删除报名（退课）
 * @url    GET /baoming/shanchu
 * @param  id 报名ID (String)
 * @return { code:200, data: "退课成功" }
 */

// ------------------- 会员相关 -------------------
/**
 * 新增会员
 * @url    POST /huiyuan/add
 * @body   { Huiyuan对象 }
 * @return { code:200, msg: "新增成功" } 或 { code:500, msg: "新增失败" }
 */

/**
 * 查询会员（分页）
 * @url    GET /huiyuan/index
 * @param  cardno 会员卡号 (String)
 * @param  pageNum 页码 (Integer)
 * @param  pageSize 每页数量 (Integer)
 * @return { code:200, data: Huiyuan[], total: 总数 }
 */

/**
 * 修改会员
 * @url    POST /huiyuan/update
 * @body   { Huiyuan对象 }
 * @return { code:200, msg: "修改成功" } 或 { code:500, msg: "修改失败" }
 */

/**
 * 删除会员
 * @url    GET /huiyuan/delete
 * @param  id 会员ID (String)
 * @return { code:200, msg: "删除成功" }
 */

// ------------------- 器材相关 -------------------
/**
 * 查询器材（分页）
 * @url    GET /qicai/index
 * @param  name 器材名称 (String)
 * @param  pageNum 页码 (Integer)
 * @param  pageSize 每页数量 (Integer)
 * @return { data: Qicai[], total: 总数 }
 */

/**
 * 新增/修改器材
 * @url    POST /qicai/save
 * @body   { Qicai对象 }
 * @return { code:200, msg: "新增成功"/"修改成功" }
 */

/**
 * 删除器材
 * @url    GET /qicai/delete
 * @param  id 器材ID (String)
 * @return { code:200, msg: "删除成功" }
 */

// ------------------- 课程相关 -------------------
/**
 * 查询课程（分页）
 * @url    GET /subject/index
 * @param  name 课程名称 (String)
 * @param  pageNum 页码 (Integer)
 * @param  pageSize 每页数量 (Integer)
 * @return { data: Subject[], total: 总数 }
 */

/**
 * 新增/修改课程
 * @url    POST /subject/save
 * @body   { Subject对象 }
 * @return { code:200, msg: "新增成功"/"修改成功" }
 */

/**
 * 删除课程
 * @url    GET /subject/shanchu
 * @param  id 课程ID (String)
 * @return { code:200, msg: "删除成功" }
 */

// ------------------- 员工相关 -------------------
/**
 * 查询员工（分页）
 * @url    GET /yuangong/index
 * @param  name 员工姓名 (String)
 * @param  pageNum 页码 (Integer)
 * @param  pageSize 每页数量 (Integer)
 * @return { code:200, data: Yuangong[], total: 总数 }
 */

/**
 * 新增/修改员工
 * @url    POST /yuangong/save
 * @body   { Yuangong对象 }
 * @return { code:200, msg: "新增成功"/"修改成功" }
 */

/**
 * 删除员工
 * @url    GET /yuangong/delete
 * @param  id 员工ID (String)
 * @return { code:200, msg: "删除成功" }
 */

/**
 * 查询教练
 * @url    GET /yuangong/jl
 * @return { code:200, data: Yuangong[] }
 */

// ------------------- 菜单相关 -------------------
/**
 * 查询菜单
 * @url    GET /menu/index
 * @param  type 菜单类型 (String)
 * @return { code:200, data: Menu[] }
 */

// ------------------- 首页统计 -------------------
/**
 * 首页统计数据
 * @url    GET /shouye/index
 * @return { code:200, qicaishu: 器材数, huiyuanshu: 会员数, subjectshu: 课程数, all: 总数 }
 */

// ------------------- 用户相关 -------------------
/**
 * 管理员登录
 * @url    GET /user/login
 * @param  username 用户名 (String)
 * @param  password 密码 (String)
 * @param  type 用户类型 (int, 1为管理员)
 * @return { code:200, data: User[], msg: "登录成功" } 或 { code:500, msg: "该用户不存在" }
 */

/**
 * 会员登录
 * @url    GET /user/hylogin
 * @param  cardno 会员卡号 (String)
 * @param  pass 密码 (String)
 * @param  type 用户类型 (int, 2为会员)
 * @return { code:200, data: Huiyuan[], msg: "登录成功" } 或 { code:500, msg: "该用户不存在" }
 */

// ------------------- 数据对象说明 -------------------
/**
 * Baoming, Huiyuan, Qicai, Subject, Yuangong, User等对象结构请参考后端dao目录下对应Java类定义。
 */